# -*-coding:utf-8 -*-
from django.shortcuts import render,redirect
#导包
from django.http import HttpResponse,HttpResponseRedirect,JsonResponse
#导入类视图
from django.views import View

#from myapp.models import User
import json
from django.core.serializers import serialize
from rest_framework.response import Response
from rest_framework.views import APIView
#导入加密库
import hashlib
#导入图片库
#绘画库
from PIL import ImageDraw
#字体库
from PIL import ImageFont
#图片库
from PIL import Image
#随机库
import random
#文件流
import io

import requests

#导入上传文件夹配置
from mydjango.settings import UPLOAD_ROOT
import os

#导入原生sql模块
from django.db import connection

import jwt

#导入redis数据库
import redis

#导入时间模块
import time

#导入公共目录变量
from mydjango.settings import BASE_DIR

#导包
from django.db.models import Q,F

#导入dwebsocket的库
from dwebsocket.decorators import accept_websocket
import uuid

import time
import hmac
import base64
from hashlib import sha256
import urllib
import json

from myapp.models import  User,Goods
from myapp.myser import GoodsSer
#插入商品
class InsertGoods(APIView):
    def get(self,request):

        #接受参数
        name = request.GET.get('name','null')
        desc = request.GET.get('desc','null')
        parms = request.GET.get('parms','null')
        cate_id = request.GET.get('cate_id','null')
        price = request.GET.get('price','null')





        #排重 （不能重复）
        goods = Goods.objects.filter(name=name).first()

        if goods:
            res = {}
            res['code'] = 405
            res['message'] = "该商品已存在"
            return Response(res)

        #入库
        goods = Goods(name=name,desc=desc,price=price,parms=parms,cate_id=cate_id)
        goods.save()

        #查询商品id
        goods = Goods.objects.filter(name=name).first()

        res = {}
        res['code'] = 200 
        res['id'] = goods.id
        res['message'] = "恭喜，添加成功"

        return Response(res)





#商品列表页
class Goodslist(APIView):
    def get(self,request):

        #当前页
        page = int(request.GET.get('page',1))
        #一页有多少条商品
        size = int(request.GET.get("size",1))

        #定义从哪儿考试切
        data_start = (page-1) * size 

        #定义切到哪儿
        data_end = page * size 

        #查询
        goodslist = Goods.objects.all()[data_start:data_end]

        #查询总数量
        count = Goods.objects.count()

        #序列化操作
        goods_ser = GoodsSer(goodslist,many=True)

        res = {}
        res['total'] = count 
        res['data'] = goods_ser.data
        return Response(res)
